<!DOCTYPE html>
<html lang="zh">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, minimum-scale=1.0, user-scalable=no">
    <meta http-equiv="X-UA-Compatible" content="ie=edge,chrome=1">
    <meta name="referrer" content="never">
    <title>边界</title>
    <style>
        * {
            margin: 0;
            padding: 0;
        }
        ul {
            list-style: none;
        }
    </style>
</head>
<body>
    
    <script type="text/javascript">
        /* 
        边界：
            行边界：
                行起始  ^xxx  默认第一行开始
                行结束  xxx$  默认最后一行结束
            单词边界： \bxxx\b   前面或者后面是一个非单词
            非单词边界： \Bxxxx\B   前面或者后面是一个单词

        m 属性：开启多行匹配
        */

        var str = "abc\naqa\nbac\ndfc";

        console.log(str.match(/^a\w/)); // [ab, 0]
        console.log(str.match(/\wc$/)); // [fc, 13]
        
        console.log(str.match(/^\w\w/gm)); // [ab, aq, ba, df]
        console.log(str.match(/\w\w$/gm)); // [bc, qa, ac, fc]

        console.clear();

        var strr = "abc ddc+fyq-iud2345yuhj hgb";
        console.log(strr.match(/\b\w\w/g)); // [ab, dd, fy, iu, hg]
        console.log(strr.match(/\w\w\b/g)); // [bc, dc, yq, hj, gb]

        console.log(strr.match(/\w\w\B/g)); // [ab, dd, fy, iu, d2, 34, 5y, uh, hg]
        console.log(strr.match(/\B\w\w/g));


        // 要求数字开头，以数字结尾  1\n2
        var reg = /^\d[\w\W]\d$/;
    </script>
</body>
</html>